module e2_w4_fixed_adder_tree ( clk, rst_n, a, psum );
  input [15:0] a;
  output [5:0] psum;
  input clk, rst_n;
  wire   edge_nd_36, edge_nd_35, edge_nd_34, edge_nd_33, edge_nd_32,
         intadd_84_A_4_, intadd_84_A_3_, intadd_84_A_2_, intadd_84_A_1_,
         intadd_84_B_3_, intadd_84_B_2_, intadd_84_B_1_, intadd_84_CI,
         intadd_84_n5, intadd_84_n4, intadd_84_n3, intadd_84_n2, intadd_84_n1,
         intadd_85_B_2_, intadd_85_n3, intadd_85_n2, intadd_85_n1, n2, n3, n4;
  wire   [15:0] sample_in;

  DFCNQD1BWP30P140HVT sample_in_reg_3_ ( .D(a[3]), .CP(clk), .CDN(rst_n), .Q(
        sample_in[3]) );
  DFCNQD1BWP30P140HVT sample_in_reg_2_ ( .D(a[2]), .CP(clk), .CDN(rst_n), .Q(
        sample_in[2]) );
  DFCNQD1BWP30P140HVT sample_in_reg_1_ ( .D(a[1]), .CP(clk), .CDN(rst_n), .Q(
        sample_in[1]) );
  DFCNQD1BWP30P140HVT sample_in_reg_0_ ( .D(a[0]), .CP(clk), .CDN(rst_n), .Q(
        sample_in[0]) );
  DFCNQD1BWP30P140HVT sample_in_reg_7_ ( .D(a[7]), .CP(clk), .CDN(rst_n), .Q(
        sample_in[7]) );
  DFCNQD1BWP30P140HVT sample_in_reg_6_ ( .D(a[6]), .CP(clk), .CDN(rst_n), .Q(
        sample_in[6]) );
  DFCNQD1BWP30P140HVT sample_in_reg_5_ ( .D(a[5]), .CP(clk), .CDN(rst_n), .Q(
        sample_in[5]) );
  DFCNQD1BWP30P140HVT sample_in_reg_4_ ( .D(a[4]), .CP(clk), .CDN(rst_n), .Q(
        sample_in[4]) );
  DFCNQD1BWP30P140HVT sample_in_reg_11_ ( .D(a[11]), .CP(clk), .CDN(rst_n), 
        .Q(sample_in[11]) );
  DFCNQD1BWP30P140HVT sample_in_reg_10_ ( .D(a[10]), .CP(clk), .CDN(rst_n), 
        .Q(sample_in[10]) );
  DFCNQD1BWP30P140HVT sample_in_reg_9_ ( .D(a[9]), .CP(clk), .CDN(rst_n), .Q(
        sample_in[9]) );
  DFCNQD1BWP30P140HVT sample_in_reg_8_ ( .D(a[8]), .CP(clk), .CDN(rst_n), .Q(
        sample_in[8]) );
  DFCNQD1BWP30P140HVT sample_in_reg_15_ ( .D(a[15]), .CP(clk), .CDN(rst_n), 
        .Q(sample_in[15]) );
  DFCNQD1BWP30P140HVT sample_in_reg_14_ ( .D(a[14]), .CP(clk), .CDN(rst_n), 
        .Q(sample_in[14]) );
  DFCNQD1BWP30P140HVT sample_in_reg_13_ ( .D(a[13]), .CP(clk), .CDN(rst_n), 
        .Q(sample_in[13]) );
  DFCNQD1BWP30P140HVT sample_in_reg_12_ ( .D(a[12]), .CP(clk), .CDN(rst_n), 
        .Q(sample_in[12]) );


  DFCNQD1BWP30P140HVT psum_reg_5_ ( .D(intadd_84_n1), .CP(clk), .CDN(rst_n), 
        .Q(psum[5]) );
  DFCNQD1BWP30P140HVT psum_reg_4_ ( .D(edge_nd_36), .CP(clk), .CDN(rst_n), .Q(
        psum[4]) );
  DFCNQD1BWP30P140HVT psum_reg_3_ ( .D(edge_nd_35), .CP(clk), .CDN(rst_n), .Q(
        psum[3]) );
  DFCNQD1BWP30P140HVT psum_reg_2_ ( .D(edge_nd_34), .CP(clk), .CDN(rst_n), .Q(
        psum[2]) );
  DFCNQD1BWP30P140HVT psum_reg_1_ ( .D(edge_nd_33), .CP(clk), .CDN(rst_n), .Q(
        psum[1]) );
  DFCNQD1BWP30P140HVT psum_reg_0_ ( .D(edge_nd_32), .CP(clk), .CDN(rst_n), .Q(
        psum[0]) );


  FA1D0BWP30P140HVT intadd_85_U4 ( .A(sample_in[9]), .B(sample_in[13]), .CI(
        sample_in[1]), .CO(intadd_85_n3), .S(intadd_84_B_1_) );
  FA1D0BWP30P140HVT intadd_85_U3 ( .A(sample_in[2]), .B(sample_in[10]), .CI(
        intadd_85_n3), .CO(intadd_85_n2), .S(intadd_84_B_2_) );
  FA1D0BWP30P140HVT intadd_85_U2 ( .A(sample_in[3]), .B(intadd_85_B_2_), .CI(
        intadd_85_n2), .CO(intadd_85_n1), .S(intadd_84_A_3_) );
  FA1D0BWP30P140HVT intadd_84_U6 ( .A(sample_in[8]), .B(intadd_84_CI), .CI(
        sample_in[0]), .CO(intadd_84_n5), .S(edge_nd_32) );
  FA1D0BWP30P140HVT intadd_84_U5 ( .A(intadd_84_A_1_), .B(intadd_84_B_1_), 
        .CI(intadd_84_n5), .CO(intadd_84_n4), .S(edge_nd_33) );
  FA1D0BWP30P140HVT intadd_84_U4 ( .A(intadd_84_A_2_), .B(intadd_84_B_2_), 
        .CI(intadd_84_n4), .CO(intadd_84_n3), .S(edge_nd_34) );
  FA1D0BWP30P140HVT intadd_84_U3 ( .A(intadd_84_A_3_), .B(intadd_84_B_3_), 
        .CI(intadd_84_n3), .CO(intadd_84_n2), .S(edge_nd_35) );
  FA1D0BWP30P140HVT intadd_84_U2 ( .A(intadd_84_A_4_), .B(intadd_85_n1), .CI(
        intadd_84_n2), .CO(intadd_84_n1), .S(edge_nd_36) );
  
  NR2D0BWP30P140HVT U4 ( .A1(n2), .A2(n3), .ZN(n4) );
  CKND2D1BWP30P140HVT U5 ( .A1(sample_in[4]), .A2(sample_in[12]), .ZN(n3) );
  OA21D0BWP30P140HVT U6 ( .A1(sample_in[4]), .A2(sample_in[12]), .B(n3), .Z(
        intadd_84_CI) );
  INVD0BWP30P140HVT U7 ( .I(sample_in[5]), .ZN(n2) );
  AOI21D0BWP30P140HVT U8 ( .A1(n3), .A2(n2), .B(n4), .ZN(intadd_84_A_1_) );
  
  FA1D0BWP30P140HVT U9 ( .A(sample_in[14]), .B(sample_in[6]), .CI(n4), .CO(
        intadd_85_B_2_), .S(intadd_84_A_2_) );
  FA1D0BWP30P140HVT U10 ( .A(sample_in[11]), .B(sample_in[15]), .CI(
        sample_in[7]), .CO(intadd_84_A_4_), .S(intadd_84_B_3_) );
endmodule

